Тестирование периферии I2C

Чтение и запись EEPROM

Добавление кода в проект приложения Vitis

Щелкните правой кнопкой мыши на src, чтобы создать новую папку:

image-20250710140513635

Создайте соответствующие файлы .c и .h:

image-20250710140624298

Как показано ниже:

image-20250710142508748

Компиляция и отладка

На этом этапе, аналогично операциям с GPIO, если есть пользовательские заголовочные файлы, необходимо добавить каталог файлов в путь. Шаги такие же, как и выше, и конечный результат показан ниже:

image-20250710143029923

Основной код

Результаты отладки

image-20250710090844195

Чтение данных с датчика температуры и влажности

Добавление кода в проект приложения Vitis

Щелкните правой кнопкой мыши на src, чтобы создать новую папку:

image-20250710140513635

Создайте соответствующие файлы .c и .h, как показано ниже:

image-20250710143404518

Компиляция и отладка

Основной код

 

Результаты отладки

image-20250710090903681

Чтение и запись часов реального времени (RTC)

Добавление кода в проект приложения Vitis

Щелкните правой кнопкой мыши на src, чтобы создать новую папку:

image-20250710140513635

Создайте соответствующие файлы .c и .h, как показано ниже:

image-20250710143628291

Компиляция и отладка

Основной код

Результаты отладки

image-20250710090924915

 

 

Доступ к RTC через встроенный драйвер ядра

Изменение дерева устройств

Откройте файл /home/mind/petalinux_projects/petalinux-mind/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi и добавьте следующее содержимое:

После внесения изменений сохраните и выйдите, затем повторно выполните следующие шаги:

Скопируйте файлы BOOT.BIN, boot.scr и image.ub из каталога проекта images -> linux в раздел FAT SD-карты. Файловая система остаётся без изменений. Перезагрузите плату разработки.

После перезагрузки системы проверьте каталог /dev/ на наличие файлов устройств, связанных с RTC, как показано ниже:

image-20250821142505644

Видно, что в каталоге /dev есть два файла устройств: rtc и rtc0, где rtc — это программная ссылка на rtc0. rtc0 соответствует нашему устройству pcf8563. Если в системе не зарегистрировано ни одного устройства RTC (с помощью фреймворка драйверов устройств RTC Linux), в каталоге /dev не будет файлов устройств RTC. Если в ядре зарегистрировано несколько устройств RTC, они будут иметь имена rtc0, rtc1, rtc2 и т. д. В каталоге /sys/class есть каталог rtc, в котором находятся следующие файлы:

image-20250821142642052

Здесь rtc0 соответствует устройству pcf8563.

RTC Time Viewing and Setting

(1) Время просмотра:

Команда date показывает системные часы, а не часы RTC. Системные часы поддерживаются ядром после запуска системы, а не аппаратными часами RTC. Для просмотра показаний часов RTC используйте команду hwclock.

(2) Установите время RTC:

После настройки снова используйте команду date, чтобы увидеть, что текущее время изменилось.

(3) Написать в РТК:

В этом случае время не будет сбиваться даже после перезагрузки системы. Если к плате разработки подключена батарейка типа «таблетка», время не будет сбиваться даже при выключении платы.